import java.awt.Point;


public class Estado {
	Point p;
	int g;
	Estado pai;
	int profundidade;
	
	public Estado(Point _ponto, Estado _pai, Problema _prob) {
		p = _ponto;
		g = _pai.g + _prob.matriz[p.x][p.y];
		pai = _pai;
		System.out.println("Criado estado "+p+" -> valor matriz="+ _prob.matriz[p.x][p.y]);
	}
	
	public Estado (Point _ponto) {
		p = _ponto;
		g = 0;
	}
	
	@Override
	public boolean equals(Object obj) {
	    if (this == obj) 
	    	return true;
	    if (obj == null) 
	    	return false;
	    if (getClass() != obj.getClass()) 
	    	return false;
	    
	    Estado tmp = (Estado) obj;
	    return (this.p.equals( tmp.p ));
	}
}
